Software tools for three-dimensional modeling strongly couple the geometry representation with the allowable editing methods. For example, a voxel representation is limited to direct edits to the voxel grid, such as a Boolean addition, subtraction, or averaging of values. Likewise, a surface-triangles-based representation limits editing to modifications to various displacements of the triangle vertices. As a result, modeling capabilities which the end user can employ are limited to those tools that lend themselves to editing of the primary geometry representation. Editing performed on a primary geometry representation imposes limitations on the operations that can be performed, and certain operations can be so difficult to perform that they are virtually impossible without unacceptably excessive computational effort.
Some of the problems that exist in methods available in the prior art include the following negative features. In volumetric models, it is difficult if not impossible to make changes such as bending, stretching, and other gross modifications without loss of significant model details. Conversely, although surface-based methods more adequately support stretching, tugging, and other “rubber sheet” like operations, they lack the editing capabilities which volumetric representations provide, such as voxel-value-averaging and automated handling of self-intersections and overlaps. An important negative consequence of these existing methods is that careful planning of model creation is required, with little or with no option to make appreciable changes once work is underway.